﻿using System;
using System.Windows.Forms;
using DALLifeIt.DALLifeIt;
using System.Collections.Generic;
using Tier3CommonDALLifeIt;
using ThingMagic;
using System.Threading;
using System.Media;

namespace Life_It_CenProForm
{
    public partial class Bienvenida : Form
    {
        Reader reader;


        public Bienvenida()
        {
            InitializeComponent();
        }

        private void panelBienvenida_Paint(object sender, PaintEventArgs e)
        {
           
        }

        private void panelBienvenida_Click(object sender, EventArgs e)
        {
            Thread oThread = new Thread(new ThreadStart(Beta));

            // Start the thread
            oThread.Start();

            //string puertoCOM = ConfigurationSettings.AppSettings["puertoCOM"];
            string puertoCOM = "COM8";
            reader = Reader.Create("tmr:///" + puertoCOM);

            //ingresado por RMB 02/01/2012
            PromocionVWDAL promo = new PromocionVWDAL();

            string codigo = "20536903195";//capturar codigo tag
            //string codigo = eArgs.TagReadData.EpcString;

            string subfamilia = promo.buscarSubfamilia(codigo);//filtrar por subfamilia

            //V_RFID_HISTORIAL_COMPRAS historial = promo.buscarMaximo(codigo);

            //List<V_RFID_ARTICULOS> listaArticulos = promo.buscarPromocion(historial.SUB_FAMILIA);
            List<V_RFID_ARTICULOS> listaArticulos = promo.buscarPromocion(subfamilia);
            List<string> listaArticulosCrossSelling = promo.crossSelling(subfamilia);
            foreach (var lista in listaArticulosCrossSelling)
            {
                listaArticulos.AddRange(promo.buscarPromocion(lista));
            }

            V_RFID_CLIENTES cliente = promo.buscarCliente(codigo);


            usersession.SessionAlive = true;

            usersession.BeginTimer();

            Promocion promocion = new Promocion(listaArticulos, cliente.NOMBRECLIENTE);
            promocion.ShowDialog();
        }

        private void Bienvenida_Load(object sender, EventArgs e)
        {

            

            //try
            //{
            //    reader.Connect();
            //    //rdr.Connect();
            //    if (Reader.Region.UNSPEC.Equals(reader.ParamGet("/reader/region/id")))
            //    {
            //        reader.ParamSet("/reader/region/id", Reader.Region.NA);
            //    }
            //    UInt16 prueba = (UInt16)reader.ParamGet("/reader/radio/readPower");
            //    //int max = (int)reader.ParamGet("/reader/radio/powerMax");
            //    //int min = (int)reader.ParamGet("/reader/radio/powerMin");
            //    reader.ParamSet("/reader/radio/readPower", 1000);
            //}
            //catch (Exception excp)
            //{
            //    MessageBox.Show(excp.Message);
            //}
            //finally
            //{
            //    //reader.Destroy();

            //    reader.TagRead += new EventHandler<TagReadDataEventArgs>(tagRead);
            //    reader.StartReading();
            //}
        }

        object objetoSinc = new object();

        void tagRead(object sender, TagReadDataEventArgs eArgs)
        {

            lock (objetoSinc) 
            {
                try
                {
                    PromocionVWDAL promo = new PromocionVWDAL();

                    //string codigo = "20536903195";//capturar codigo tag
                    string codigo = eArgs.TagReadData.EpcString;

                    string subfamilia = promo.buscarSubfamilia(codigo);//filtrar por subfamilia

                    //V_RFID_HISTORIAL_COMPRAS historial = promo.buscarMaximo(codigo);

                    //List<V_RFID_ARTICULOS> listaArticulos = promo.buscarPromocion(historial.SUB_FAMILIA);
                    List<V_RFID_ARTICULOS> listaArticulos = promo.buscarPromocion(subfamilia);
                    List<string> listaArticulosCrossSelling = promo.crossSelling(subfamilia);
                    foreach (var lista in listaArticulosCrossSelling)
                    {
                        listaArticulos.AddRange(promo.buscarPromocion(lista));
                    }

                    V_RFID_CLIENTES cliente = promo.buscarCliente(codigo);

                    Promocion promocion = new Promocion(listaArticulos, cliente.NOMBRECLIENTE);
                    promocion.ShowDialog();

                }
                catch (Exception ex) 
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }

        public void Beta()
        {
            SoundPlayer sound = new SoundPlayer(Properties.Resources.tada);
            sound.Play();

        }
    }
}
